package com.EAsystem.service;

import com.EAsystem.entity.Class;
import com.EAsystem.entity.Major;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface ClassService {

    /**
     * 根据ID查询班级详情
     * @param id 班级ID
     * @return 班级对象
     */
    Class findById(Integer id);

    /**
     * 查询班级列表（带分页和搜索）
     * @param name 班级名称（模糊搜索）
     * @param pageNum 页码
     * @param pageSize 每页记录数
     * @return 包含班级列表和分页信息的PageInfo对象
     */
    PageInfo<Class> findByNamePage(String name, int pageNum, int pageSize);

    /**
     * 新增班级
     * @param classObj 班级对象
     * @return 是否成功
     */
    boolean save(Class classObj);

    /**
     * 更新班级
     * @param classObj 班级对象
     * @return 是否成功
     */
    boolean edit(Class classObj);

    /**
     * 根据ID删除班级
     * @param id 班级ID
     * @return 是否成功
     */
    boolean delete(Integer id);

    /**
     * 根据多个ID批量删除班级
     * @param ids 班级ID列表
     * @return 是否成功
     */
    boolean batchDelete(List<Integer> ids);


    PageInfo<Class> findAllByPage(int page, int size);
}
